﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace FrontEndPlus.Módulos.Inventarios
{
    public partial class wbfrm_Reporte_Pago_Proveedores : System.Web.UI.Page
    {
        private WCF_Gimnasio.cls_Reporte _reporte = new WCF_Gimnasio.cls_Reporte();
        private WCF_Gimnasio.ServiceClient _servicio = new WCF_Gimnasio.ServiceClient();
        private WCF_Gimnasio.cls_Proveedor _proveedor = new WCF_Gimnasio.cls_Proveedor();
        
        private void CargarDatosProveedor()
        {
            try
            {
                _proveedor.IdUsuarioInicioSeccion = Convert.ToInt32(HttpContext.Current.Session["idUsuario"].ToString());
                DataTable dt = _servicio.Listar(3, _proveedor).Tables[0];

                //Agrega Linea en blanco
                DataRow dtrow = dt.NewRow();
                dt.Rows.InsertAt(dtrow, 0);
                dt.Rows[0]["ID_PROVEEDOR"] = "0";
                dt.Rows[0]["NOMBRE"] = " ";

                ddl_proveedor.DataTextField = "NOMBRE";
                ddl_proveedor.DataValueField = "ID_PROVEEDOR";
                ddl_proveedor.DataSource = dt;
                ddl_proveedor.DataBind();
            }
            catch (Exception ex) { lbl_mensaje.Text = ex.Message; }
        }
        private void Obtener_Parametros()
        {
            try
            {
                _reporte.IdUsuarioInicioSeccion = Convert.ToInt32(HttpContext.Current.Session["idUsuario"].ToString());

                if (txt_solicitud.Text != String.Empty)
                    _reporte.IdFactura = txt_solicitud.Text;
                else
                    _reporte.IdFactura = "%";

                if (txt_fecha.Text != String.Empty)
                    _reporte.Fecha = txt_fecha.Text;
                else
                    _reporte.Fecha = "%";

                if (ddl_proveedor.SelectedValue != "0")
                    _reporte.Proveedor = ddl_proveedor.SelectedValue;
                else
                    _reporte.Proveedor = "%";

                _reporte.Reporte = "CR_Pago_Proveedores.rpt";
            }
            catch (Exception ex) { lbl_mensaje.Text = ex.Message; }

        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.CargarDatosProveedor();
            }
        }

        protected void b_generar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                try
                {
                    this.Obtener_Parametros();

                    DataSet Dataset_Resultado = _servicio.Listar(2, _reporte);

                    if (Dataset_Resultado.Tables[0].Rows.Count > 0)
                    {
                        Dataset_Resultado.WriteXml("C:\\temp\\reporte.xml", XmlWriteMode.WriteSchema);

                        Response.Redirect("wbfrm_reporte.aspx?nombre=CR_Pago_Proveedores.rpt&email=" + txt_email.Text);
                    }
                    else
                        lbl_mensaje.Text = "NO HAY REGISTROS CON LOS DATOS SUMINISTRADOS";
                }
                catch (Exception ex) { lbl_mensaje.Text = ex.Message; }
            }

        }

        protected void b_volver_Click(object sender, EventArgs e)
        {
            Response.Redirect("wbfrm_Index_Reportes.aspx");
        }

        protected void chk_email_CheckedChanged(object sender, EventArgs e)
        {
            try
            {
                if (chk_mail.Checked)
                {
                    txt_email.Enabled = true;
                    RegularExpressionValidator1.Enabled = true;
                    txt_email.BackColor = System.Drawing.Color.White;
                }
                else
                {
                    txt_email.Enabled = false;
                    RegularExpressionValidator1.Enabled = true;
                    txt_email.BackColor = System.Drawing.Color.LightGray;
                }
            }
            catch (Exception ex) { lbl_mensaje.Text = ex.Message; }
        }
    }
}